Дисциплина: Кибербезопасность предприятия
Астраханцева Анастасия
Ганина Таисия
Ибатулина Дарья
Шошина Евгения
Кадирова Мехрубон
Хассан Факи Абакар
Группа НФИбд-01-22
Российский университет дружбы народов, Москва, Россия
15 октября 2025
Целью лабораторной работы является освоение практических навыков выявления, анализа и устранения уязвимостей информационных систем в рамках сценария «Защита научно-технической информации предприятия».
Для обнаружения и анализа атак использовались средства ViPNet IDS NS. Были зафиксированы следующие ключевые инциденты, соответствующие этапам атаки
Для устранения уязвимости 1 необходимо сменить пароль пользователя
Что произошло из-за установки слабого пароля пользователя dev1:
Начало атаки: Внутренний нарушитель подобрал слабый пароль на файловом сервере и заменил легитимный файл на вредоносный (backdoor).
Заражение: Пользователь dev1 скачал и запустил этот вредоносный файл.
Закрепление: После получения контроля над компьютером dev1,
нарушитель создал задачу в планировщике, которая будет автоматически
запускать вредоносный файл svchosting.exe каждый раз при
входе пользователя dev1 в систему. Это позволяет злоумышленнику
сохранять доступ к компьютеру даже после перезагрузки.
Открываем планировщик задач и обнаруживаем подозрительную задачу:
Задача настроена на выполнение программы (Start a program). Путь к
исполняемому файлу: C:\Users\dev1\Downloads\svchosting.exe.
Это указывает на то, что злоумышленник разместил вредоносный файл
svchosting.exe в папке загрузок пользователя dev1 и настроил его
автоматический запуск через планировщик задач.
Для устранения последствия мы удалили задачу и вредоносный exe-файл в
директории C:\Users\dev1\Downloads.
Переходим на сервер и видим, что устанено последствие уязвимости “Слабый пароль пользователя”
На скриншоте видим, что для доступа к серверу Redmine (10.10.2.15) были использованы учетные данные администратора (admin). Это необходимо для получения прав на редактирование кода сервера.
Видим, что злоумышленником была добавлена константа
ALLOWED_TAGS, которая определяет список тегов, которые не будут
экранироваться. Тег <pre>, который использовался
злоумышленником для внедрения вредоносного JavaScript-кода, мы исключили
из этого списка. Теперь, при обнаружении любого тега, не входящего в
ALLOWED_TAGS, он теперь будет автоматически экранирован (заменен на <
и >), что делает его безопасным для отображения.
После внесения изменений в код в терминале мы выполняем команду
sudo systemctl restart nginx.service. Это необходимо для
того, чтобы веб-сервер загрузил обновленный код и изменения вступили в
силу.
На скриншоте показано содержимое Wiki-страницы проекта Dev1 до и после перезапуска сервера. До перезапуска вредоносный код отображался “как есть”, запускался при переходе на веб-страницу, а после — был экранирован и стал просто текстом.
В ходе сценария внутренний нарушитель успешно эксплуатировал уязвимость XSS (CVE-2019-17427) для внедрения вредоносного JavaScript-кода на Wiki-страницу проекта Dev1. Этот код был направлен на создание нового пользователя с правами администратора, что позволило злоумышленнику получить неограниченный доступ к системе Redmine и ее конфиденциальной информации.
На приведенном скриншоте показан процесс эксплуатации уязвимости до ее устранения. Он демонстрирует, как злоумышленник проводит атаку Blind SQL-инъекции.
Внесем изменения в файл query.rb. Этот файл является частью модели данных Redmine и отвечает за формирование SQL-запросов к базе данных. В нем находится код, который обрабатывает параметр subproject_id.
После внесения изменений в файл query.rb в терминале мы
выполняем команду sudo systemctl restart nginx.service. Это
необходимо для того, чтобы изменения вступили в силу.
В ходе лабораторной работы был успешно реализован сценарий защиты научно-технической информации предприятия: обнаружены и устранены уязвимости (слабый пароль, XSS, Blind SQL-инъекция), нейтрализованы последствия атаки (удалён backdoor и несанкционированный пользователь Redmine).